Using modem word processing program modules to create and edit electronic files, or electronic documents, is often convenient and efficient. Word processing program modules typically display an insertion point, such as a blinking short vertical line to indicate the point at which elements may be added to an electronic document. Text, tables, and other elements are typically added to an electronic document beginning at an insertion point. However, the usual method for positioning an insertion point in an electronic document is sometimes counterintuitive to users.
Typically, using a U.S. word processing program module, an insertion point is vertically positioned by using the enter key to add “paragraph marks” and horizontally positioned by adding tabs or spaces on a line. This typical method is based upon the typewriter concept of the use of tabs and carriage returns to move down and across a typewritten page. However, many users, including Asian users, are unfamiliar with typewriters. Thus, the typewriter metaphor for positioning an insertion point in an electronic document is counterintuitive to many users.
Some Asian versions of word processing program modules compose documents with spaces placed throughout the document and paragraph marks (¶) placed throughout the document. Because the document is composed of spaces, which are automatically created when a document is created, a user may position an insertion point anywhere within a document by clicking a mouse button and immediately begin typing in text at the cursor location. In contrast, in most program modules, each page must be created and then paragraph marks added to the pages of the document to vertically position the insertion point.
A drawback to the word processing program modules that are automatically filled with spaces is that there is no centering or alignment provided with the insertion point. Thus, the user cannot automatically align their text by simply inserting the cursor in a particular location. Another drawback of these word processing program modules that are automatically filled with spaces is that the electronic documents are difficult to edit because the document is multiple pages composed of text and spaces. Thus, any new typed entry effects placement of all text after the typed entry and may cause movement and shifting of text that is not desired by the user.
Some word processing program modules solve the problem of centering and alignment by allowing only three positioning areas: left aligned, centered, and right aligned. However, because these program modules do not examine the context of the cursor before adding the insertion point, these program modules have the drawback that a user is not able to position the insertion point exactly where desired if it is not at these three locations in a line. For example, a user may wish to place an insertion point very close to the right side of the document, but the user may not wish to have the insertion point right-aligned. These program modules with three position areas do not allow precise positioning of the insertion point.
Still other word processing program modules use fixed width tabs to position the insertion point rather than using left, right, and center alignment. However, these word processing program modules still suffer from several drawbacks. First, the granularity of these program modules is limited because the tabs all have fixed widths. In other words, the insertion point may only be placed at tab stops even if the user desires a different positioning. Another drawback is that text below and to the right of the insertion point may be moved down the page when an insertion is made even though that may not be the desire of the user.
There is a need for an intuitive method and system for positioning an insertion point in an electronic document that examines existing formatting, existing text, and context to determine the necessary formatting that needs to be applied and insertion point location. There is a further need for a method and system for positioning an insertion point that provides an indication to the user of possible insertion point placement should the user double-click the mouse button. There is still a further need for a method and system for positioning an insertion point that does not move text below the insertion point counterintuitively to the user's desires. There is still a further need for a method and system for positioning an insertion point that changes the attributes of objects in a document so that the cursor is positioned correctly, such as by wrapping text on an image or table.